#ifndef LECTEURSYMBOLE_H_
#define LECTEURSYMBOLE_H_

#include <fstream>
#include <string>
using namespace std;

#include "LecteurCaractere.h"
#include "Symbole.h"

class LecteurSymbole
{

    public:
        LecteurSymbole(string nomFich);    // résultat : symCour = premier symbole du fichier nomFich
        void suivant();                    // passe au symbole suivant du fichier
        inline Symbole getSymCour()
        {
            return this->m_symCour;    // accesseur
        }
        inline unsigned int getLigne()
        {
            return this->m_ligne;      // accesseur
        }
        inline unsigned int getColonne()
        {
            return this->m_colonne;    // accesseur
        }

    private:
        LecteurCaractere m_lc;           // le lecteur de caracteres
        Symbole m_symCour;               // le symbole courant du lecteur de symboles
        unsigned int m_ligne, m_colonne; // coordonnees, dans le fichier, du symbole courant
        void sauterSeparateurs();        // saute dans lc une suite de separateurs consecutifs
        string motSuivant();             // lit dans lc la chaine du prochain symbole et la renvoie en resultat

        //ajouts
        void sauterCommentaire();        // saute dans lc un commentaire
};

#endif /* LECTEURSYMBOLE_H_ */
